﻿//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//#include <string.h>
// 字符串学习：字符串是以空字符 \0 结尾的字符数组
// 用 char 数组定义字符串，注意C语言中没有字符串类型
#include "common.h"

void study05()
{
	int i = 9;
	char arr1[] = "abcdefg"; // 8 个字符
	char arr2[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g'}; // 7 个字符，结尾不是 \0
	// 使用 [] 初始化数组时，如果值的数量少于指定的数量，则未初始化的元素会被自动设置为0（对于整数类型）
	int arr_test[10] = { 1, 2, 3, 4, 5, 6, 7, "a"}; // 
	for (i = 9; i >= 0; --i)
	{
		printf("%d\n", arr_test[i]);
	}
	char arr3[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', '\0'}; // 8 个字符，同 arr1
	printf("%s\n%s\n%s\n", arr1, arr2, arr3);
	// 尝试打印 arr2 会一直打印到遇到 \0 为止，如果没有 \0，则会一直打印到遇到内存中为 \0 的位置
	int len1 = strlen(arr1); // 计算字符串的长度，string.h 头文件中的函数
	int len2 = strlen(arr2); // 计算字符串的长度，string.h 头文件中的函数
	printf("%d\n%d\n%d\n", len1, len2, strlen(arr3)); // -> 7 \n 未定义值(可能是乱码) \n 7 \n
	printf("\n字符串学习结束\n");
	//other_str();  // 转换字符串学习函数
	//return 0;
}
